package com.archive.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.archive.common.annotation.Excel;
import com.archive.common.core.domain.BaseEntity;

/**
 * 档案日志管理对象 tb_archive_log
 * 
 * @author marioduan
 * @date 2025-04-03
 */
public class ArchiveLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    public String getTransactionHash() {
        return transactionHash;
    }

    public void setTransactionHash(String transactionHash) {
        this.transactionHash = transactionHash;
    }

    /** 日志ID */
    private Long logId;

    /** 日志唯一哈希值 */
    @Excel(name = "日志唯一哈希值")
    private String logHash;

    /** 操作类型 */
    @Excel(name = "操作类型")
    private Long operationType;

    /** 请求参数 */
    @Excel(name = "请求参数")
    private String operationParam;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long operatorId;

    /** 操作人姓名 */
    @Excel(name = "操作人姓名")
    private String operatorName;


    /** 操作IP */
    @Excel(name = "操作IP")
    private String operationIp;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date operationTime;


    /** 设备信息 */
    @Excel(name = "设备信息")
    private String deviceInfo;

    /**
     链上返回的哈希值
     */
    @Excel(name = "链上哈希")
    private String transactionHash;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    public void setLogHash(String logHash) 
    {
        this.logHash = logHash;
    }

    public String getLogHash() 
    {
        return logHash;
    }

    public void setOperationType(Long operationType) 
    {
        this.operationType = operationType;
    }

    public Long getOperationType() 
    {
        return operationType;
    }

    public void setOperationParam(String operationParam) 
    {
        this.operationParam = operationParam;
    }

    public String getOperationParam() 
    {
        return operationParam;
    }

    public void setOperatorId(Long operatorId)
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId()
    {
        return operatorId;
    }

    public void setOperatorName(String operatorName) 
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName() 
    {
        return operatorName;
    }


    public void setOperationIp(String operationIp) 
    {
        this.operationIp = operationIp;
    }

    public String getOperationIp() 
    {
        return operationIp;
    }

    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }

    public void setDeviceInfo(String deviceInfo) 
    {
        this.deviceInfo = deviceInfo;
    }

    public String getDeviceInfo() 
    {
        return deviceInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("logHash", getLogHash())
            .append("operationType", getOperationType())
            .append("operationParam", getOperationParam())
            .append("operatorId", getOperatorId())
            .append("operatorName", getOperatorName())
            .append("operationIp", getOperationIp())
            .append("operationTime", getOperationTime())
            .append("deviceInfo", getDeviceInfo())
            .append("transactionHash", getTransactionHash())
            .toString();
    }
}
